The present invention relates to data storage systems and more particularly to a method and system for more efficiently providing an instant copy of a portion of a RAID (redundant array of inexpensive disks) data storage system.
In order to store data, some computer systems use a redundant array of inexpensive disks (xe2x80x9cRAIDxe2x80x9d) data storage subsystem. For example, a RAID subsystem may be coupled with a host or server that services clients on a network. The RAID subsystem typically includes a controller and a plurality of disk drives. The controller generally controls operations of the RAID subsystem. Information is physically stored on the drives.
It may be desirable to copy the information that is stored on the RAID subsystem and that is being used via the host. For example, the data stored on one or more of the drives may be backed up to ensure that the data is available in the case that the RAID subsystem malfunctions. The drive from which the backup is desired is known as the source drive. In order to copy a portion of the data stored on the source drive of the RAID subsystem, the files that are desired to be copied are closed. Thus, no input to or output from the files on the source drive is allowed during copying. This ensures that the data on the source drive does not change during the copying procedure. The desired files on the source drive are then copied progressively to another location. This location may be another drive, called a target drive. Typically, the organization of the source drive is also copied. Thus, the target drive may include directories and subdirectories containing copied files. The copies on the target drive can then be accessed separately from the originals on the source drive. The drive being copied is then released, allowing input to and output from the files.
Although the conventional method for providing a copy functions, it may take a long time to copy the files from the source drive to the target drive. This is particularly true where there is a great deal of data to be copied. For example, a large database may be backed up periodically. During the conventional copying procedure, the source drive cannot be accessed via the host. Thus, users of the system may be precluded from reading, modifying, or otherwise utilizing the data in the database for a relatively long time. Users cannot access the data to modify even a small portion of the data.
Accordingly, what is needed is a system and method for more rapidly generating a copy of data on a RAID subsystem. It would also be desirable if the method and system for generating the copy had a relatively low impact on system performance. The present invention addresses such a need.
The present invention provides a method and system for more efficiently providing a copy of a portion of a source drive of a plurality of drives in a redundant array of inexpensive disks (RAID) data storage system. The portion of the source drive includes a plurality of segments. The method and system comprise progressively providing the copy of the plurality of segments from the source drive to the target drive. The plurality of segments can be modified during the step of providing the copy. The method and system further comprise providing another copy of a portion of the plurality of segments that have been modified since the step of providing the copy commenced if a portion of the plurality of segments have been modified since copying commenced.
According to the system and method disclosed herein, the present invention decreases the time required to provide the copy while allowing users to read from or write to the source drive or target drive during copying. Thus, the reading and writing during the copying procedure is performed at a faster rate.